OOAD - Object Oriented Analysis and Design
Q and A
Glossary ( Q and A )
Why domain model is called a visual dictionary?
Domain model shows and related words, concepts found in the domain and shows an abstraction of the conceptual classes.
What do you mean by conceptual classes?
A conceptual class can be an idea, or object and considered as:
- Symbol: Represents an object, idea, or concept.
- Intension:definition of the conceptual class
- Extension: a conceptual class can represent a group or set of similar objects
Account is symbol given to represent an object of an institution like bank, Account intends to represent an object that belongs to
someone, it has type, creation date, owner-name. Account represents all the examples of account; it is an extension of all the account
that exists in universe.
Are domain model and data model same?
A domain model is not a data model; data model shows persistent object which can be stored somewhere like in the storage device.
How a domain model is created?
Following steps can be considered to create a domain model:
- Finding conceptual classes in the domain model under study.
- Draw a class diagram using found the classes
- Associate classes and add attributes to the classes
How is conceptual classes found?
Conceptual classes can be found using following techniques:
- By studying the existing models, model of previously made software.
- By studying an existing category list like list of objects for banks, hotels etc.
- By studying users’ requirements document and performing noun phrase analysis.
Explain iterative development.
All the requirements are not searched in early stage of the iterative development. Only major and important requirements are
studied and implemented. Iterative development starts with a production quality module which are tested to check if
subset of user requirements are addresses or not. Development starts before all the requirements gathering and analysis is complete.
This is the difference from a waterfall model.
What are the things done in the Inception phase?
- Brief and incomplete artifacts are visioned and created.
- Basic feasibility risks and scope are determined to decide if the project is worth development or not.
- A short workshop is conducted to find requirements (not detailed).
- Actors, their goals and use cases are found and named.
- Most of the use cases are written in short; only 10-20% use cases are written in Fully dressed format.
- Most influential and risky requirements are identified; a risk list is made.
- vision and supplementary specifications are written.
- what components to buy/build/reuse is decided
- user interface-oriented prototypes are created to clarify the vision of functional requirements.
What happens in elaboration phase?
- the core, risky modules are programmed and tested.
- most of the requirements are discovered and stabilized
- the major risks are addressed or retired.
- production quality design and code are created.
In elaboration phase core architecture is built, high risk requirements are resolved, overall schedule and resources required to
develop system is defined.
what are the key ideas and best practices that manifest in elaboration phase?
- A short timeboxed risk-driven iterations
- Programming is started early
- Adaptive design is implemented and core and risky parts of the design are tested early and realistically.
- Feedbacks from the users, developers are adopted.
- Most of the use cases are written in detail through a series of workshops
What are the artifacts that start in the elaboration phase?
- Domain Model
- Design Model
- Software Architecture Document
- Data models
- Use case
- Storyboards
- UI prototypes
How the risks and iterations are organized during elaboration phase?
The risks and iterations are organization based on:
-
Risk: On the basis of nature of risk, requirements are prioritized and in which iteration those risks are to be addressed is decided.
- Coverage: How big the risk is? Does it influence a person, department or whole organization?
- Criticality: What will happen if the risk is not addressed correctly?
What are the artifacts created in the inception phase?
- Use case Model
- Vision
- Supplementary Specification
- Glossary
How it can be known if a use case is useful or not?
- Boss Test:
- The Elementary Business Process (EBP) test
- The size test
How to find use cases?
Use cases are figured out and defined to satisfy the goals of the primary actors. The basic procedure to find use cases are:
- Choose the System Boundary: What is the extend of system? Is it limited to a small unit of organization or a person?
- Identify the primary actors: Who have the goals needed to be fulfilled through the system?
- Identify the goals of the primary actors
How to work with use cases in iterative methods?
Use cases are the central element of the UP and most of the iterative methods. Use use case for :
- To record functional requirements
- Use use-cases in part as work of iteration is done in parts
- Use use cases in designing subsystems or systems of collaborating objects.
- Create user manual using use cases.
- Represent functional requirements with the use cases.
What are the three common use case formats?
- Brief: A short one line summary of main success scenario.
- Causal: Informal paragraph covering various scenario with detailed descriptions
- Fully dressed: paragraphs with all the steps written in detail and with supporting sections like: preconditions, post conditions, success guarantees.
Are Use cases functional requirements?
Yes, It indicates what the system will do.
Why to use use cases?
- To keep things (requirements) simple and make it possible for end users to write use cases.
- It emphasizes user goals and perspectives.
- Use cases can scale up and down in terms of sophistication and formality.
What are the three kinds of actors?
- Primary Actors: Those who directly use system to get their work done (to get their goals), or to get some service from the system.
- Supporting actors:Those who facilitate primary actors in achieving their goals
- Offstage Actors:
What are the types and categories of requirements?
- Functional
- Usability
- Reliability
- Performance
- Supportability
- Implementation, Interface, Operations, Packing, Legal
How are the requirements organized in UP Artifacts?
- Use case Model
- Supplementary specification
- Glossary
- Vision
- Business Rules